/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.uca.dss.curso1011.grupo3.gestionreservasextendido;

import java.util.LinkedList;

/**
 * Esta clase implementa el patron delegate ya que hereda de un interfaz.
 * @author Adolfo Barroso, Levi Orta, Juan Manuel Chaves
 */
public class ImplementacionItinerario extends LinkedList<InformacionTrayecto> implements Itinerario {

    /**
     * Devuelve el coste total de la reserva de un itinerario.
     *
     * @return precio, Precio total de la reserva de un itinerario.
     */
    @Override
    public double getPrecio() {

        double precio = 0;

        for(int i = 0; 1 < this.size(); i++){
            precio += this.get(i).getPrecio();
        }

        return precio;
    }

    /**
     * Devuelve si un itinerario es igual a otro pasado como parametro.
     *
     * @param itinerario: Itinerario que queremos comprobar.
     * @return igual, Booleano. True si son iguales. False si son distintos.
     */
    @Override
    public boolean equals(Itinerario itinerario){
        boolean igual = true;

        if(this.size() == itinerario.size()){
            for(int i = 0; i < this.size(); i++){
                if(!this.get(i).equals(itinerario.get(i)))
                    return false;
            }
        }
        else
            igual = false;

        return igual;
    }
}
